A Productivity Checker for Logic Programming

نویسندگان

  • Ekaterina Komendantskaya
  • Patricia Johann
  • Martin Schmidt
چکیده

Automated analysis of recursive derivations in logic programming is known to be a hard problem. Both termination and non-termination are undecidable problems in Turing-complete languages. However, some declarative languages offer a practical work-around for this problem, by making a clear distinction between whether a program is meant to be understood inductively or coinductively. For programs meant to be understood inductively, termination must be guaranteed, whereas for programs meant to be understood coinductively, productive nontermination (or “productivity”) must be ensured. In practice, such classification helps to better understand and implement some non-terminating computations. Logic programming was one of the first declarative languages to make this distinction: in the 1980’s, Lloyd and van Emden’s “computations at infinity” captured the big-step operational semantics of derivations that produce infinite terms as answers. In modern terms, computations at infinity describe “global productivity” of computations in logic programming. Most programming languages featuring coinduction also provide an observational, or small-step, notion of productivity as a computational counterpart to global productivity. This kind of productivity is ensured by checking that finite initial fragments of infinite computations can always be observed to produce finite portions of their infinite answer terms. In this paper we introduce a notion of observational productivity for logic programming as an algorithmic approximation of global productivity, give an effective procedure for semi-deciding observational productivity, and offer an implemented automated observational productivity checker for logic programs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Checking foundational proof certificates for first-order logic

We present the design philosophy of a proof checker based on a notion of foundational proof certificates. At the heart of this design is a semantics of proof evidence that arises from recent advances in the theory of proofs for classical and intuitionistic logic. That semantics is then performed by a (higher-order) logic program: successful performance means that a formal proof of a theorem has...

متن کامل

Checking Foundational Proof Certificates for First-Order Logic (Extended Abstract)

We present the design philosophy of a proof checker based on a notion of foundational proof certificates. At the heart of this design is a semantics of proof evidence that arises from recent advances in the theory of proofs for classical and intuitionistic logic. That semantics is then performed by a (higher-order) logic program: successful performance means that a formal proof of a theorem has...

متن کامل

Local and Symbolic Bisimulation Using Tabled Constraint Logic Programming

Bisimulation is a fundamental notion that characterizes behavioral equivalence of concurrent systems. In this paper, we study the problem of encoding eÆcient bisimulation checkers for niteas well as in nite-state systems as logic programs. We begin with a straightforward and short (less than 10 lines) encoding of nite-state bisimulation checker as a tabled logic program. In a goal-directed syst...

متن کامل

A Rewriting-Based Model Checker for the Linear Temporal Logic of Rewriting

This paper presents a model checker for LTLR, a subset of the temporal logic of rewriting TLR∗ extending linear temporal logic with spatial action patterns. Both LTLR and TLR∗ are very expressive logics generalizing well-known state-based and action-based logics. Furthermore, the semantics of TLR∗ is given in terms of rewrite theories, so that the concurrent systems on which the LTLR properties...

متن کامل

Efficient Real-Time Model Checking Using Tabled Logic Programming and Constraints

Logic programming based tools for real-time model checking are beginning to emerge. In a previous work we had demonstrated the feasibility of building such a model checker by combining constraint processing and tabulation. But eÆciency and practicality of such a model checker were not adequately addressed. In this paper we describe XMC/dbm, an eÆcient model checker for real-time systems using t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2016